
from base.base import Base
from utils.generate_logs_util import get_log
logger = get_log(__name__)

class page_pay_product(Base):
    # 查询产品并上架(已设置支付方式)
    def page_product_select_shelf(self, product_name):
        self.switch_node("pay_product_info_page")
        self.click('pay_product_manage')
        self.logger.info('点击支付管理')
        self.click('pay_product_info_btn')
        self.logger.info('点击支付产品信息')
        self.send_keys("input_field", product_name)
        self.logger.info('输入支付产品名称')
        self.click("select_button")
        self.logger.info('点击搜索')
        self.click('go_live')
        self.logger.info('点击上架')
        self.click('sure')
        self.logger.info('点击确定')




    # 添加支付产品并上架
    def page_pay_product_shelves(self, pay_productCode, pay_productName):
        self.switch_node("pay_product_info_page")
        self.click("pay_product_manage")  # 使用YAML中定义的键名
        self.logger.info('点击支付管理')
        self.click("pay_product_info_btn")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_add")
        self.logger.info('添加支付产品')
        self.send_keys("pay_product_send_code", pay_productCode)
        self.logger.info('输入支付产品编码')
        self.send_keys("pay_product_send_name", pay_productName)
        self.logger.info('输入支付产品名称')
        self.click("pay_product_add_submit")
        self.logger.info('点击提交')
        self.click('shelves')
        self.logger.info('点击上架')



    # 添加支付产品并删除成功
    def page_pay_product_delete(self,pay_productCode,pay_productName):
        self.switch_node("pay_product_info_page")
        self.logger.info('点击支付管理')
        self.click("pay_product_manage")  # 使用YAML中定义的键名
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('添加支付产品')
        self.click("pay_product_add")
        self.logger.info('输入支付产品编码')
        self.send_keys("pay_product_send_code",pay_productCode)
        self.logger.info('输入支付产品名称')
        self.send_keys("pay_product_send_name", pay_productName)
        self.logger.info('点击提交')
        self.click("pay_product_add_submit")
        self.logger.info('删除支付产品')
        self.click("pay_product_delete")
        self.logger.info('确认删除支付产品')
        self.click("pay_product_delete_submit")
        self.logger.info('删除成功')

    # 添加支付产品并上架成功
    def page_pay_product_shelf(self,pay_productCode,pay_productName,num):
        self.switch_node("pay_product_info_page")
        self.logger.info('点击支付管理')
        self.click("pay_product_manage")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('添加支付产品')
        self.click("pay_product_add")
        self.logger.info('输入支付产品编码')
        self.send_keys("pay_product_send_code",pay_productCode)
        self.logger.info('输入支付产品名称')
        self.send_keys("pay_product_send_name", pay_productName)
        self.logger.info('点击提交')
        self.click("pay_product_add_submit")
        self.logger.info('点击确定')
        self.click("pay_product_submit")
        self.logger.info('点击设置支付方式')
        self.click("configure_payment_methods")
        self.logger.info('点击添加设置支付方式')
        self.click("set_up_payment_methods2")
        self.logger.info('输入支付费率')
        self.send_keys("pay_product_send_rate",num)
        self.logger.info('点击提交')
        self.click("pay_product_payment_submit")
        self.logger.info('确定')
        self.click("pay_product_submit")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('上架支付产品')
        self.click("pay_product_shelf")
        self.logger.info('确定上架支付产品')
        self.click("pay_product_submit")
        self.logger.info('上架成功')

    # 成功为已上架产品下架
    def page_pay_product_shelf_delete(self, pay_productCode, pay_productName, num):
        self.switch_node("pay_product_info_page")
        self.logger.info('点击支付管理')
        self.click("pay_product_manage")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('添加支付产品')
        self.click("pay_product_add")
        self.logger.info('输入支付产品编码')
        self.send_keys("pay_product_send_code", pay_productCode)
        self.logger.info('输入支付产品名称')
        self.send_keys("pay_product_send_name", pay_productName)
        self.logger.info('点击提交')
        self.click("pay_product_add_submit")
        self.logger.info('点击确定')
        self.click("pay_product_submit")
        self.logger.info('点击设置支付方式')
        self.click("configure_payment_methods")
        self.logger.info('点击添加设置支付方式')
        self.click("set_up_payment_methods2")
        self.logger.info('输入支付费率')
        self.send_keys("pay_product_send_rate", num)
        self.logger.info('点击提交')
        self.click("pay_product_payment_submit")
        self.logger.info('确定')
        self.click("pay_product_submit")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('上架支付产品')
        self.click("pay_product_shelf")
        self.logger.info('确定上架支付产品')
        self.click("pay_product_submit")
        self.logger.info('下架支付产品')
        self.click('pay_product_shelf_delete')
        self.logger.info('确定下架支付产品')
        self.click("pay_product_submit")
        self.logger.info('下架成功')

    # 下架已关联用户支付配置的产品下架失败
    def page_product_search_delete(self, product_name):
        self.switch_node("pay_product_info_page")
        self.logger.info('点击支付管理')
        self.click("pay_product_manage")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('输入支付产品名称')
        self.send_keys("input_field", product_name)
        self.logger.info('点击查询')
        self.click("select_button")
        self.logger.info('点击下架')
        self.click("pay_product_shelf_delete")
        self.logger.info('点击确定')
        self.click("pay_product_submit")
        self.logger.info('下架失败')

    # 成功添加商品并重复设置支付方式，设置失败
    def page_product_add_payment_method(self, pay_productCode, pay_productName, num,num2):
        self.switch_node("pay_product_info_page")
        self.logger.info('点击支付管理')
        self.click("pay_product_manage")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('添加支付产品')
        self.click("pay_product_add")
        self.logger.info('输入支付产品编码')
        self.send_keys("pay_product_send_code", pay_productCode)
        self.logger.info('输入支付产品名称')
        self.send_keys("pay_product_send_name", pay_productName)
        self.logger.info('点击提交')
        self.click("pay_product_add_submit")
        self.logger.info('点击确定')
        self.click("pay_product_submit")
        self.logger.info('点击设置支付方式')
        self.click("configure_payment_methods")
        self.logger.info('点击添加设置支付方式')
        self.click("set_up_payment_methods2")
        self.logger.info('输入支付费率')
        self.send_keys("pay_product_send_rate", num)
        self.logger.info('点击提交')
        self.click("pay_product_payment_submit")
        self.logger.info('确定')
        self.logger.info('点击设置支付方式')
        self.click("configure_payment_methods")
        self.logger.info('点击添加设置支付方式')
        self.click("set_up_payment_methods2")
        self.logger.info('输入支付费率')
        self.send_keys("pay_product_send_rate", num)
        self.logger.info('点击提交')

    # 查询产品并删除（未设置支付方式的产品）
    def page_product_select_delete(self, product_name):
        self.switch_node("pay_product_info_page")
        self.click('pay_product_manage')
        self.logger.info('点击支付管理')
        self.click('pay_product_info_btn')
        self.logger.info('点击支付产品信息')
        self.send_keys("input_field", product_name)
        self.logger.info('输入支付产品名称')
        self.click("select_button")
        self.logger.info('点击搜索')
        self.click('delete')
        self.logger.info('点击删除')
        self.click('sure')
        self.logger.info('点击确定')
        self.logger.info("删除成功")

    # 添加支付产品并查询
    def page_product_add_select(self, pay_productCode,pay_productName,product_name):
        self.switch_node("pay_product_info_page")
        self.logger.info('点击支付管理')
        self.click("pay_product_manage")
        self.logger.info('点击支付产品信息')
        self.click("pay_product_info_btn")
        self.logger.info('添加支付产品')
        self.click("pay_product_add")
        self.logger.info('输入支付产品编码')
        self.send_keys("pay_product_send_code", pay_productCode)
        self.logger.info('输入支付产品名称')
        self.send_keys("pay_product_send_name", pay_productName)
        self.logger.info('点击提交')
        self.click("pay_product_add_submit")
        self.logger.info('点击确定')
        self.send_keys("input_field", product_name)
        self.logger.info('输入支付产品名称')
        self.click("select_button")
        self.logger.info('点击搜索')

    def pay_manage_01(self,pay_product_send_code,pay_product_send_name):
        """添加支付产品并设置支付方式 上架"""
        self.switch_node('pay_product_info_page')
        logger.info('点击支付管理')
        self.click('pay_product_manage')
        logger.info('点击支付产品信息')
        self.click('pay_product_info_btn')
        logger.info('添加支付产品')
        self.click('pay_product_add')
        logger.info('输入支付产品编码')
        self.send_keys('pay_product_send_code',pay_product_send_code)
        logger.info('输入支付产品名称')
        self.send_keys('pay_product_send_name',pay_product_send_name)
        logger.info('点击提交')
        self.click('pay_product_add_submit')
        logger.info('点击确定')
        self.click('pay_product_submit')
        logger.info('设置支付方式')
        self.click('configure_payment_methods')
        logger.info('设置支付方式')
        self.click('set_up_payment_methods2')
        logger.info('输入支付费率')
        self.send_keys('pay_product_send_rate',10)
        logger.info('点击提交')
        self.click('pay_product_payment_submit')
        logger.info('点击确定')
        self.click('pay_product_submit')

    def pay_manage_02(self,user_code,product_code,user_name,product_name2,risk_pre_deposit_period):
        """添加支付配置"""
        self.switch_node('pay_product_info_page')
        logger.info('用户支付配置')
        self.click('user_payment_configuration')
        logger.info('添加支付配置')
        self.click('add_payment_configuration')
        logger.info('用户编号（添加）')
        self.send_keys('user_code',user_code)
        logger.info('支付产品编号（添加）')
        self.send_keys('product_code',product_code)
        logger.info('输入用户名（添加）')
        self.send_keys('user_name',user_name)
        logger.info('输入支付产品名称（添加）')
        self.send_keys('product_name2',product_name2)
        logger.info('风险预存期')
        self.send_keys('risk_pre_deposit_period',risk_pre_deposit_period)
        logger.info('提交')
        self.click('submit')
        logger.info('断言')
        dy = self.text('dy_product_name')
        assert 'dongfeng51' == dy
        logger.info('断言成功')








